Next: dlltool, Previous: windres, Up: Top

## 12 windmc

windmc may be used to generator Windows message resources.

> Warning: windmc is not always built as part of the binary utilities, since it is only useful for Windows targets.

         windmc [options] input-file

windmc reads message definitions from an input file (.mc) and translate them into a set of output files. The output files may be of four kinds:

`h`
  A C header file containing the message definitions.
`rc`
  A resource file compilable by the windres tool.
`bin`
  One or more binary files containing the resource data for a specific message language.
`dbg`
  A C include file that maps message id's to their symbolic name.

The exact description of these different formats is available in documentation from Microsoft.

When windmc converts from the `mc` format to the `bin` format, `rc`, `h`, and optional `dbg` it is acting like the Windows Message Compiler.

-a
--ascii_in
  Specifies that the input file specified is ANSI. This is the default behaviour.
-A
--ascii_out
  Specifies that messages in the output `bin` files should be in ANSI format.
-b
--binprefix
  Specifies that `bin` filenames should have to be prefixed by the basename of the source file.
-c
--customflag
  Sets the customer bit in all message id's.
-C codepage
--codepage_in codepage
  Sets the default codepage to be used to convert input file to UTF16. The default is ocdepage 1252.
-d
--decimal_values
  Outputs the constants in the header file in decimal. Default is using hexadecimal output.
-e ext
--extension ext
  The extension for the header file. The default is .h extension.
-F target
--target target
  Specify the BFD format to use for a bin file as output. This is a BFD target name; you can use the --help option to see a list of supported targets. Normally windmc will use the default format, which is the first one listed by the --help option. Target Selection.
-h path
--headerdir path
  The target directory of the generated header file. The default is the current directory.
-H
--help
  Displays a list of command line options and then exits.
-m characters
--maxlength characters
  Instructs windmc to generate a warning if the length of any message exceeds the number specified.
-n
--nullterminate
  Terminate message text in `bin` files by zero. By default they are terminated by CR/LF.
-o
--hresult_use
  Not yet implemented. Instructs `windmc` to generate an OLE2 header file, using HRESULT definitions. Status codes are used if the flag is not specified.
-O codepage
--codepage_out codepage
  Sets the default codepage to be used to output text files. The default is ocdepage 1252.
-r path
--rcdir path
  The target directory for the generated `rc` script and the generated `bin` files that the resource compiler script includes. The default is the current directory.
-u
--unicode_in
  Specifies that the input file is UTF16.
-U
--unicode_out
  Specifies that messages in the output `bin` file should be in UTF16 format. This is the default behaviour.
-v
--verbose
  Enable verbose mode.
-V
--version
  Prints the version number for windmc.
-x path
--xdgb path
  The path of the `dbg` C include file that maps message id's to the symbolic name. No such file is generated without specifying the switch.